package com.yeyks.hotel.dal.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 房间表
 * </p>
 *
 * @author yun
 * @since 2019-10-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="RoomInfo对象", description="房间表")
public class RoomInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "酒店ID")
    @TableField("hotel_id")
    private Integer hotelId;

    @ApiModelProperty(value = "房间名称")
    @TableField("title")
    private String title;

    @ApiModelProperty(value = "是否已上架")
    @TableField("valid")
    private Boolean valid;

    @ApiModelProperty(value = "原价")
    @TableField("orig_price")
    private Integer origPrice;

    @ApiModelProperty(value = "现价")
    @TableField("cur_price")
    private Integer curPrice;

    @ApiModelProperty(value = "底价")
    @TableField("bottom_price")
    private Integer bottomPrice;

    @ApiModelProperty(value = "床型")
    @TableField("bed_type")
    private String bedType;

    @ApiModelProperty(value = "床型对应中文")
    @TableField("bed_type_cn")
    private String bedTypeCn;

    @ApiModelProperty(value = "可住人数")
    @TableField("max_people")
    private Integer maxPeople;

    @ApiModelProperty(value = "面积")
    @TableField("area")
    private Integer area;

    @ApiModelProperty(value = "楼层")
    @TableField("floor")
    private Integer floor;

    @ApiModelProperty(value = "客房床型信息JSON")
    @TableField("room_info_json")
    private String roomInfoJson;

    @ApiModelProperty(value = "服务设施信息")
    @TableField("devices_json")
    private String devicesJson;

    @ApiModelProperty(value = "设备")
    @TableField("devices")
    private String devices;

    @ApiModelProperty(value = "设备对应中文名")
    @TableField("devices_cn")
    private String devicesCn;

    @ApiModelProperty(value = "每天总数")
    @TableField("count")
    private Integer count;

    @ApiModelProperty(value = "每天剩余")
    @TableField("available")
    private Integer available;

    @ApiModelProperty(value = "图片")
    @TableField("thumb")
    private String thumb;

    @ApiModelProperty(value = "入住说明")
    @TableField("description")
    private String description;

    @ApiModelProperty(value = "默认1，代表未删除，0代表已删除")
    @TableField("is_del")
    private Integer isDel;

    @ApiModelProperty(value = "每次下单时判断当前时间是否等于该值，不等于则修改该值为count总数")
    @TableField("today_time")
    private Date todayTime;

    @ApiModelProperty(value = "扩展信息")
    @TableField("extra_info")
    private String extraInfo;

    @ApiModelProperty(value = "甄选酒店房的价格(平台拿房价)")
    @TableField("vip_price")
    private Integer vipPrice;

    @ApiModelProperty(value = "优选优惠后价")
    @TableField("vip_discount_price")
    private Integer vipDiscountPrice;

    @ApiModelProperty(value = "甄选酒店房数量")
    @TableField("vip_count")
    private Integer vipCount;

    @ApiModelProperty(value = "节假日平台拿房价")
    @TableField("holiday_buy_price")
    private Integer holidayBuyPrice;

    @ApiModelProperty(value = "节假日平台拿房价")
    @TableField("holiday_sale_price")
    private Integer holidaySalePrice;

    @ApiModelProperty(value = "节假日平台默认可售数量")
    @TableField("holiday_count")
    private Integer holidayCount;

    @ApiModelProperty(value = "剩余甄选房间数")
    @TableField("vip_available")
    private Integer vipAvailable;

    @ApiModelProperty(value = "甄选标志 0：非甄选 1：甄选  3：精选")
    @TableField("vip_flag")
    private Integer vipFlag;

    @ApiModelProperty(value = "甄选状态  0：不可用 1：可用")
    @TableField("vip_status")
    private Integer vipStatus;

    @ApiModelProperty(value = "甄选房间扩展信息")
    @TableField("vip_extra")
    private String vipExtra;

    @TableField("create_time")
    private Date createTime;

    @TableField("modify_time")
    private Date modifyTime;

    @TableField(exist=false)
    private Integer calendarBottomPrice;

    @TableField(exist=false)
    private Integer calendarSalePrice;


    public static final String ID = "id";

    public static final String HOTEL_ID = "hotel_id";

    public static final String TITLE = "title";

    public static final String VALID = "valid";

    public static final String ORIG_PRICE = "orig_price";

    public static final String CUR_PRICE = "cur_price";

    public static final String BOTTOM_PRICE = "bottom_price";

    public static final String BED_TYPE = "bed_type";

    public static final String BED_TYPE_CN = "bed_type_cn";

    public static final String MAX_PEOPLE = "max_people";

    public static final String AREA = "area";

    public static final String FLOOR = "floor";

    public static final String ROOM_INFO_JSON = "room_info_json";

    public static final String DEVICES_JSON = "devices_json";

    public static final String DEVICES = "devices";

    public static final String DEVICES_CN = "devices_cn";

    public static final String COUNT = "count";

    public static final String AVAILABLE = "available";

    public static final String THUMB = "thumb";

    public static final String DESCRIPTION = "description";

    public static final String IS_DEL = "is_del";

    public static final String TODAY_TIME = "today_time";

    public static final String EXTRA_INFO = "extra_info";

    public static final String VIP_PRICE = "vip_price";

    public static final String VIP_DISCOUNT_PRICE = "vip_discount_price";

    public static final String VIP_COUNT = "vip_count";

    public static final String HOLIDAY_BUY_PRICE = "holiday_buy_price";

    public static final String HOLIDAY_SALE_PRICE = "holiday_sale_price";

    public static final String HOLIDAY_COUNT = "holiday_count";

    public static final String VIP_AVAILABLE = "vip_available";

    public static final String VIP_FLAG = "vip_flag";

    public static final String VIP_STATUS = "vip_status";

    public static final String VIP_EXTRA = "vip_extra";

    public static final String CREATE_TIME = "create_time";

    public static final String MODIFY_TIME = "modify_time";

}
